پرسش

ذخیره‌سازی متون UTF-8 با استفاده از JSON Dumps به عنوان UTF-8 و نه به عنوان توالی U

Saving UTF-8 texts with JSON dumps as UTF-8, not as a u escape sequence

چطور می‌تونیم متون UTF-8 رو با استفاده از json.dumps به صورت UTF-8 ذخیره کنیم، نه به صورت توالی‌های \u؟

1403/06/06
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای اینکه متون UTF-8 رو با استفاده از json.dumps به صورت UTF-8 ذخیره کنی و نه به صورت توالی‌های \u، باید از پارامتر ensure_ascii=False استفاده کنی. این پارامتر باعث می‌شه که متون شما به صورت UTF-8 ذخیره بشن و تبدیل به توالی‌های \u نشن.

به این صورت می‌تونید ازش استفاده کنی:

import json
data = {"text": "سلام دنیا"}
# Save the data to a file using UTF-8 encoding
# Set ensure_ascii=False to prevent escaping characters to \u sequences
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False)

توضیحات کد:

- encoding='utf-8': مشخص می‌کنه که فایل باید با کدگذاری UTF-8 ذخیره بشه.

- ensure_ascii=False: باعث می‌شه که کاراکترهای غیر ASCII به صورت UTF-8 ذخیره بشن و تبدیل به توالی‌های \u نشن.

پاسخ: 1403/06/06
آخرین آپدیت: 1403/08/15